Technical Field
Embodiments of the present invention generally relate to the use of locks in multi-threaded execution environments. More particularly, embodiments relate to the use of context-based lock conditions to enhance performance in such environments.
Discussion
Computing system thread safety measures may include the use of synchronization objects (e.g., “locks”) to control access to resources that are shared between running threads. These measures could negatively impact software performance, however, particularly in modern multi-core computing environments. While lock acquisition scheduling techniques might aid in mitigating lock-related performance concerns, there still remains considerable room for improvement. For example, scheduling techniques may fail to take into consideration whether locks actually need to be acquired in the context in which a given thread is running.